Command shells are regular command line interpreters that support a few basic commands within an operating system. In some cases, a separate console application may be provided, to be invoked from these shells. They may also include a scripting language (batch files), which can be used to automate various tasks. However, they are not intended to automate all facets of graphical user interface (GUI) functionality of the operating system, in part because command-line equivalents of operations exposed via the graphical interface are limited, and the scripting language is typically elementary and does not allow the creation of complex scripts.
Structured documents such as extensible markup language (XML) documents are commonly used in computing. XML schema documents or XSDs are documents written in XML schema language. XSD may be used to express a set of rules to which an XML document must conform in order to be considered valid according to that schema. However, unlike most other schema languages, the determination of a document's validity according to XSD may produce a collection of information adhering to specific data types. Command shell commands (also referred to as “cmdlets”) may not be sufficient to modify data defined by XSD schemas, especially when the number of schemas is large.